-
Notifications
You must be signed in to change notification settings - Fork 187
add Vulkan Profiles chapter and include it in navigation. #329
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
…ion for consistency. Or the less professional way to say it: I'm lazy and know how to use python.
# Conflicts: # .github/scripts/check_chapter_references.py
christophe-lunarg
left a comment
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I left a lot of comments.
Overall, I think it's great, I only think there is a little bit of confusion with the LunarG Desktop Baseline profiles, and the intent of the predefined profiles but probably that's something we need to think about to keep improving the Vulkan Profiles solution...
chapters/vulkan_profiles.adoc
Outdated
|
|
||
| === 1. Using the Vulkan Profiles header | ||
|
|
||
| The simplest way to use Vulkan Profiles is through the Vulkan Profiles header (`vulkan_profiles.hpp`), which is available in the link:https://vulkan.lunarg.com/sdk/home[Vulkan SDK]. This header provides a C++ API that simplifies working with profiles. The header is documented in the link:https://github.com/KhronosGroup/Vulkan-Profiles/blob/main/library/README.md[Vulkan-Profiles library documentation]: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
In some way, I think we should not include vulkan_profiles.hpp in the Vulkan SDK. The issue is that I think this file is only useful to check whether profiles are supported on the user device.
Ideally for a Vulkan application initially code, we should only create VkDevice with the set of capabilities required by the application because theorically enabling capabilities that is not useful for the application may hurt the application performance. This is the case with the robustness extensions for example.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
conceptually I agree with you, but one of the features of profiles is to reduce the boilerplate for requesting features/extensions. So, a developer would need it to take advantage of the reduced boilerplate code; thus it would be useful to check the profiles both at time of development and at time of use. Sadly, if we didn't make it so easy to use, as opposed to the "by hand" method then we'd not have this issue.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am not implying that vulkan_profiles.hpp should not be used, I think it should be generated using the python script and the Vulkan application profiles.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Interesting. That would be a different approach and I think I see some merits for developers. Would you like me to suggest that strategy instead of getting it from the SDK or is this more future direction and we should revisit when it's ready?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I don't think this is future direction as it has been avaiable from the first profiles tools release. Hence my idea that shipping the pre-generated vulkan_profiles.hpp created some confusions. There is a use for the pre-generated but not for release shipping Vulkan applications but for vulkancapsviewer for exemple to determine system capabilities.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I am going to merge this PR anyway as it's already realy good but don't hesitate to submit more improvements ^_^
…ated links, and improved examples.
…bility and enhanced initialization guidance.
…ture Enabling" section, roadmap revisions, and improved initialization guidance.
…and corrected example link.
…ction, revised profile maintenance details, and additional documentation links.
705d66f
| - Contains profile definitions, library code, and tools | ||
| * link:https://github.com/KhronosGroup/Vulkan-Samples/tree/main/samples/tooling/profiles[Vulkan-Samples profiles examples] | ||
| - Sample code demonstrating profile usage | ||
| * link:https://www.lunarg.com/wp-content/uploads/2024/02/The-Vulkan-Profiles-Tools-LunarG-Christophe-Riccio-02-01-2024.pdf[Vulkan Profiles pdf] |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!
No description provided.